package com.example.thegreatwall.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 套餐商品实体类
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@TableName("t_product")
public class TProduct {
    /**
     * 产品 ID
     */
    @TableId(value = "t_product_id", type = IdType.AUTO)
    private Integer tProductId;

    /**
     * 套餐类型 如 "夜游套餐""亲子套餐"
     */
    @TableField("package_type")
    private Integer packageType;

    /**
     * 产品名称（如 "八达岭长城门票""故宫夜游演出"）
     */
    @TableField("product_name")
    private String name;

    /**
     * 产品描述
     */
    @TableField("description")
    private String description;

    /**
     * 封面图 URL
     */
    @TableField("cover_image")
    private String coverImage;

    /**
     * 最低价格（起始价）
     */
    @TableField("minimum_price")
    private Double minimumPrice;

    /**
     * 热门等级：0-普通，1-热门，2-爆款（用于首页推荐）
     */
    @TableField("hot_level")
    private Integer hotLevel;

    /**
     * 状态（0 - 下架，1 - 正常，2 - 库存不足）
     */
    @TableField("status")
    private Integer status;

    /**
     * 套餐评分（1-5分，基于用户评价）
     */
    @TableField("score")
    private BigDecimal score;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private Date createTime;

    /**
     * 更新时间
     */
    @TableField("update_time")
    private Date updateTime;

    /**
     * 预订须知
     */
    @TableField("instructions")
    private String instructions;

    /**
     * 套票最小人数
     */
    @TableField("minpeople")
    private int minpeople;

    /**
     * 游玩人数
     */
    @TableField(value = "countnum")
    private Integer countnum;
}